/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0xc3576ebc */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "D:/my_xlinx/xilinx/last_trial/CHR.v";
static int ng1[] = {0, 0};
static unsigned int ng2[] = {0U, 0U};
static int ng3[] = {1, 0};
static unsigned int ng4[] = {1U, 0U};
static unsigned int ng5[] = {48U, 0U};
static int ng6[] = {10, 0};
static unsigned int ng7[] = {2U, 0U};
static unsigned int ng8[] = {3U, 0U};
static int ng9[] = {16, 0};
static unsigned int ng10[] = {4U, 0U};



static void Always_30_0(char *t0)
{
    char t13[8];
    char t27[8];
    char t36[8];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    unsigned int t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    unsigned int t10;
    char *t11;
    char *t12;
    unsigned int t14;
    unsigned int t15;
    unsigned int t16;
    unsigned int t17;
    unsigned int t18;
    unsigned int t19;
    unsigned int t20;
    unsigned int t21;
    int t22;
    char *t23;
    char *t24;
    char *t25;
    char *t26;
    char *t28;
    unsigned int t29;
    unsigned int t30;
    unsigned int t31;
    unsigned int t32;
    unsigned int t33;
    unsigned int t34;
    char *t35;
    char *t37;
    char *t38;
    char *t39;
    char *t40;
    char *t41;
    unsigned int t42;
    int t43;

LAB0:    t1 = (t0 + 5128U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(30, ng0);
    t2 = (t0 + 5448);
    *((int *)t2) = 1;
    t3 = (t0 + 5160);
    *((char **)t3) = t2;
    *((char **)t1) = &&LAB4;

LAB1:    return;
LAB4:    xsi_set_current_line(31, ng0);
    t4 = (t0 + 1888U);
    t5 = *((char **)t4);
    t4 = (t5 + 4);
    t6 = *((unsigned int *)t4);
    t7 = (~(t6));
    t8 = *((unsigned int *)t5);
    t9 = (t8 & t7);
    t10 = (t9 != 0);
    if (t10 > 0)
        goto LAB5;

LAB6:    xsi_set_current_line(39, ng0);
    t2 = (t0 + 2368U);
    t3 = *((char **)t2);
    memset(t13, 0, 8);
    t2 = (t13 + 4);
    t4 = (t3 + 4);
    t6 = *((unsigned int *)t3);
    t7 = (~(t6));
    *((unsigned int *)t13) = t7;
    *((unsigned int *)t2) = 0;
    if (*((unsigned int *)t4) != 0)
        goto LAB10;

LAB9:    t15 = *((unsigned int *)t13);
    *((unsigned int *)t13) = (t15 & 3U);
    t16 = *((unsigned int *)t2);
    *((unsigned int *)t2) = (t16 & 3U);
    t5 = (t13 + 4);
    t17 = *((unsigned int *)t5);
    t18 = (~(t17));
    t19 = *((unsigned int *)t13);
    t20 = (t19 & t18);
    t21 = (t20 != 0);
    if (t21 > 0)
        goto LAB11;

LAB12:    xsi_set_current_line(89, ng0);

LAB48:    xsi_set_current_line(90, ng0);
    t2 = (t0 + 2368U);
    t3 = *((char **)t2);

LAB49:    t2 = ((char*)((ng2)));
    t22 = xsi_vlog_unsigned_case_compare(t3, 2, t2, 2);
    if (t22 == 1)
        goto LAB50;

LAB51:    t2 = ((char*)((ng4)));
    t22 = xsi_vlog_unsigned_case_compare(t3, 2, t2, 2);
    if (t22 == 1)
        goto LAB52;

LAB53:    t2 = ((char*)((ng7)));
    t22 = xsi_vlog_unsigned_case_compare(t3, 2, t2, 2);
    if (t22 == 1)
        goto LAB54;

LAB55:
LAB57:
LAB56:    xsi_set_current_line(98, ng0);
    t2 = (t0 + 3728);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    t11 = (t0 + 3728);
    xsi_vlogvar_assign_value(t11, t5, 0, 0, 17);

LAB58:
LAB13:
LAB7:    goto LAB2;

LAB5:    xsi_set_current_line(31, ng0);

LAB8:    xsi_set_current_line(32, ng0);
    t11 = ((char*)((ng1)));
    t12 = (t0 + 2928);
    xsi_vlogvar_assign_value(t12, t11, 0, 0, 1);
    xsi_set_current_line(33, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 3088);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(34, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 3248);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 17);
    xsi_set_current_line(35, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 3728);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 17);
    xsi_set_current_line(36, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 3408);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 4);
    xsi_set_current_line(37, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 4208);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    goto LAB7;

LAB10:    t8 = *((unsigned int *)t13);
    t9 = *((unsigned int *)t4);
    *((unsigned int *)t13) = (t8 | t9);
    t10 = *((unsigned int *)t2);
    t14 = *((unsigned int *)t4);
    *((unsigned int *)t2) = (t10 | t14);
    goto LAB9;

LAB11:    xsi_set_current_line(39, ng0);

LAB14:    xsi_set_current_line(40, ng0);
    t11 = (t0 + 2048U);
    t12 = *((char **)t11);

LAB15:    t11 = ((char*)((ng2)));
    t22 = xsi_vlog_unsigned_case_compare(t12, 3, t11, 3);
    if (t22 == 1)
        goto LAB16;

LAB17:    t2 = ((char*)((ng4)));
    t22 = xsi_vlog_unsigned_case_compare(t12, 3, t2, 3);
    if (t22 == 1)
        goto LAB18;

LAB19:    t2 = ((char*)((ng7)));
    t22 = xsi_vlog_unsigned_case_compare(t12, 3, t2, 3);
    if (t22 == 1)
        goto LAB20;

LAB21:    t2 = ((char*)((ng8)));
    t22 = xsi_vlog_unsigned_case_compare(t12, 3, t2, 3);
    if (t22 == 1)
        goto LAB22;

LAB23:    t2 = ((char*)((ng10)));
    t22 = xsi_vlog_unsigned_case_compare(t12, 3, t2, 3);
    if (t22 == 1)
        goto LAB24;

LAB25:
LAB27:
LAB26:    xsi_set_current_line(82, ng0);

LAB47:    xsi_set_current_line(83, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3728);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    xsi_set_current_line(84, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 2928);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(85, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 4208);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);

LAB28:    goto LAB13;

LAB16:    xsi_set_current_line(41, ng0);

LAB29:    xsi_set_current_line(42, ng0);
    t23 = (t0 + 3728);
    t24 = (t23 + 56U);
    t25 = *((char **)t24);
    t26 = (t0 + 3728);
    xsi_vlogvar_assign_value(t26, t25, 0, 0, 17);
    xsi_set_current_line(43, ng0);
    t2 = (t0 + 3248);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3248);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    xsi_set_current_line(44, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 2928);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(45, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 3088);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    goto LAB28;

LAB18:    xsi_set_current_line(47, ng0);

LAB30:    xsi_set_current_line(48, ng0);
    t3 = (t0 + 2208U);
    t4 = *((char **)t3);
    t3 = ((char*)((ng5)));
    memset(t13, 0, 8);
    xsi_vlog_unsigned_minus(t13, 8, t4, 8, t3, 8);
    t5 = (t0 + 3568);
    xsi_vlogvar_assign_value(t5, t13, 0, 0, 8);
    xsi_set_current_line(52, ng0);
    t2 = (t0 + 4208);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 4);
    t6 = *((unsigned int *)t5);
    t7 = (~(t6));
    t8 = *((unsigned int *)t4);
    t9 = (t8 & t7);
    t10 = (t9 != 0);
    if (t10 > 0)
        goto LAB31;

LAB32:    xsi_set_current_line(55, ng0);

LAB35:    xsi_set_current_line(56, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = ((char*)((ng6)));
    memset(t13, 0, 8);
    xsi_vlog_unsigned_multiply(t13, 32, t4, 17, t5, 32);
    t11 = (t0 + 3568);
    t23 = (t11 + 56U);
    t24 = *((char **)t23);
    memset(t27, 0, 8);
    xsi_vlog_unsigned_add(t27, 32, t13, 32, t24, 8);
    t25 = (t0 + 3728);
    xsi_vlogvar_assign_value(t25, t27, 0, 0, 17);

LAB33:    xsi_set_current_line(58, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3248);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    xsi_set_current_line(59, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 3088);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(60, ng0);
    t2 = (t0 + 3248);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    memset(t13, 0, 8);
    t5 = (t13 + 4);
    t11 = (t4 + 4);
    t6 = *((unsigned int *)t4);
    t7 = (t6 >> 0);
    *((unsigned int *)t13) = t7;
    t8 = *((unsigned int *)t11);
    t9 = (t8 >> 0);
    *((unsigned int *)t5) = t9;
    t10 = *((unsigned int *)t13);
    *((unsigned int *)t13) = (t10 & 15U);
    t14 = *((unsigned int *)t5);
    *((unsigned int *)t5) = (t14 & 15U);
    t23 = (t0 + 3408);
    xsi_vlogvar_assign_value(t23, t13, 0, 0, 4);
    goto LAB28;

LAB20:    xsi_set_current_line(62, ng0);

LAB36:    xsi_set_current_line(63, ng0);
    t3 = ((char*)((ng4)));
    t4 = (t0 + 2928);
    xsi_vlogvar_assign_value(t4, t3, 0, 0, 1);
    xsi_set_current_line(64, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3248);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    xsi_set_current_line(65, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 3088);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(66, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3248);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    xsi_set_current_line(67, ng0);
    t2 = (t0 + 3248);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    memset(t13, 0, 8);
    t5 = (t13 + 4);
    t11 = (t4 + 4);
    t6 = *((unsigned int *)t4);
    t7 = (t6 >> 0);
    *((unsigned int *)t13) = t7;
    t8 = *((unsigned int *)t11);
    t9 = (t8 >> 0);
    *((unsigned int *)t5) = t9;
    t10 = *((unsigned int *)t13);
    *((unsigned int *)t13) = (t10 & 15U);
    t14 = *((unsigned int *)t5);
    *((unsigned int *)t5) = (t14 & 15U);
    t23 = (t0 + 3408);
    xsi_vlogvar_assign_value(t23, t13, 0, 0, 4);
    xsi_set_current_line(68, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 4208);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    goto LAB28;

LAB22:    xsi_set_current_line(70, ng0);

LAB37:    xsi_set_current_line(71, ng0);
    t3 = (t0 + 3728);
    t4 = (t3 + 56U);
    t5 = *((char **)t4);
    memset(t27, 0, 8);
    t11 = (t27 + 4);
    t23 = (t5 + 4);
    t6 = *((unsigned int *)t5);
    t7 = (t6 >> 16);
    t8 = (t7 & 1);
    *((unsigned int *)t27) = t8;
    t9 = *((unsigned int *)t23);
    t10 = (t9 >> 16);
    t14 = (t10 & 1);
    *((unsigned int *)t11) = t14;
    memset(t13, 0, 8);
    t24 = (t27 + 4);
    t15 = *((unsigned int *)t24);
    t16 = (~(t15));
    t17 = *((unsigned int *)t27);
    t18 = (t17 & t16);
    t19 = (t18 & 1U);
    if (t19 != 0)
        goto LAB41;

LAB39:    if (*((unsigned int *)t24) == 0)
        goto LAB38;

LAB40:    t25 = (t13 + 4);
    *((unsigned int *)t13) = 1;
    *((unsigned int *)t25) = 1;

LAB41:    t26 = (t13 + 4);
    t28 = (t27 + 4);
    t20 = *((unsigned int *)t27);
    t21 = (~(t20));
    *((unsigned int *)t13) = t21;
    *((unsigned int *)t26) = 0;
    if (*((unsigned int *)t28) != 0)
        goto LAB43;

LAB42:    t33 = *((unsigned int *)t13);
    *((unsigned int *)t13) = (t33 & 1U);
    t34 = *((unsigned int *)t26);
    *((unsigned int *)t26) = (t34 & 1U);
    t35 = (t0 + 3728);
    t37 = (t0 + 3728);
    t38 = (t37 + 72U);
    t39 = *((char **)t38);
    t40 = ((char*)((ng9)));
    xsi_vlog_generic_convert_bit_index(t36, t39, 2, t40, 32, 1);
    t41 = (t36 + 4);
    t42 = *((unsigned int *)t41);
    t43 = (!(t42));
    if (t43 == 1)
        goto LAB44;

LAB45:    xsi_set_current_line(72, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 3088);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(73, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3248);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    goto LAB28;

LAB24:    xsi_set_current_line(75, ng0);

LAB46:    xsi_set_current_line(76, ng0);
    t3 = ((char*)((ng2)));
    t4 = (t0 + 3728);
    xsi_vlogvar_assign_value(t4, t3, 0, 0, 17);
    xsi_set_current_line(77, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 3088);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(78, ng0);
    t2 = (t0 + 3728);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t0 + 3248);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 17);
    xsi_set_current_line(79, ng0);
    t2 = (t0 + 3248);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    memset(t13, 0, 8);
    t5 = (t13 + 4);
    t11 = (t4 + 4);
    t6 = *((unsigned int *)t4);
    t7 = (t6 >> 0);
    *((unsigned int *)t13) = t7;
    t8 = *((unsigned int *)t11);
    t9 = (t8 >> 0);
    *((unsigned int *)t5) = t9;
    t10 = *((unsigned int *)t13);
    *((unsigned int *)t13) = (t10 & 15U);
    t14 = *((unsigned int *)t5);
    *((unsigned int *)t5) = (t14 & 15U);
    t23 = (t0 + 3408);
    xsi_vlogvar_assign_value(t23, t13, 0, 0, 4);
    xsi_set_current_line(80, ng0);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 4208);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    goto LAB28;

LAB31:    xsi_set_current_line(52, ng0);

LAB34:    xsi_set_current_line(53, ng0);
    t11 = (t0 + 3568);
    t23 = (t11 + 56U);
    t24 = *((char **)t23);
    memcpy(t13, t24, 8);
    t25 = (t0 + 3728);
    xsi_vlogvar_assign_value(t25, t13, 0, 0, 17);
    xsi_set_current_line(54, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 4208);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    goto LAB33;

LAB38:    *((unsigned int *)t13) = 1;
    goto LAB41;

LAB43:    t29 = *((unsigned int *)t13);
    t30 = *((unsigned int *)t28);
    *((unsigned int *)t13) = (t29 | t30);
    t31 = *((unsigned int *)t26);
    t32 = *((unsigned int *)t28);
    *((unsigned int *)t26) = (t31 | t32);
    goto LAB42;

LAB44:    xsi_vlogvar_assign_value(t35, t13, 0, *((unsigned int *)t36), 1);
    goto LAB45;

LAB50:    xsi_set_current_line(91, ng0);
    t4 = (t0 + 3728);
    t5 = (t4 + 56U);
    t11 = *((char **)t5);
    t23 = (t0 + 3728);
    xsi_vlogvar_assign_value(t23, t11, 0, 0, 17);
    goto LAB58;

LAB52:    xsi_set_current_line(92, ng0);
    t4 = (t0 + 3728);
    t5 = (t4 + 56U);
    t11 = *((char **)t5);
    t23 = (t0 + 3248);
    xsi_vlogvar_assign_value(t23, t11, 0, 0, 17);
    goto LAB58;

LAB54:    xsi_set_current_line(93, ng0);

LAB59:    xsi_set_current_line(94, ng0);
    t4 = (t0 + 2528U);
    t5 = *((char **)t4);
    t4 = (t0 + 3728);
    xsi_vlogvar_assign_value(t4, t5, 0, 0, 17);
    xsi_set_current_line(95, ng0);
    t2 = ((char*)((ng3)));
    t4 = (t0 + 3088);
    xsi_vlogvar_assign_value(t4, t2, 0, 0, 1);
    xsi_set_current_line(96, ng0);
    t2 = (t0 + 3728);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    t11 = (t0 + 3248);
    xsi_vlogvar_assign_value(t11, t5, 0, 0, 17);
    goto LAB58;

}


extern void work_m_00000000002483340394_3445585941_init()
{
	static char *pe[] = {(void *)Always_30_0};
	xsi_register_didat("work_m_00000000002483340394_3445585941", "isim/TB_isim_beh.exe.sim/work/m_00000000002483340394_3445585941.didat");
	xsi_register_executes(pe);
}
